home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / ovqp / ovqp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-05-30  |  2.2 KB  |  104 lines

  1. #
  2.  
  3. /*    @(#)ovqp.h    8.5    5/30/88    */
  4.  
  5. /*
  6. **    This header file contains the external (global) declarations
  7. **    of variables and structures as well as the manifest constants
  8. **    particular to OVQP.
  9. **
  10. **    By convention global variable identifiers are spelled with 
  11. **    an initial capital letter; manifest constants are in caps
  12. **    completely.
  13. */
  14.  
  15.  
  16.  
  17. /*
  18. **    Manifest constants
  19. */
  20.    
  21.   
  22. # define    tTFLAG        'O'    /* trace flag */
  23.  
  24. # define    LBUFSIZE    2048    /* buffer size for holding query list */
  25.                     /* and concat and ascii buffers */
  26. # define    NSIMP        25    /*maximum no. of "simple clauses" 
  27.                      * allowed in Qual list
  28.                      * (see "strategy" portion) */
  29. # ifndef    STACKSIZ
  30. # define     STACKSIZ    32
  31. # endif
  32. # define    MAXNODES    (6 * MAXDOM) + 50    /* max nodes in De.ov_qvect */
  33.  
  34. /* symbolic values for GETNXT parameter of fcn GET */
  35. # define    CURTUP    0    /* get tuple specified by tid */
  36. # define    NXTTUP    1    /* get next tuple after one specified by tid */
  37.   
  38.  
  39. /* symbolic values for CHECKDUPS param of fcn INSERT */
  40. # define    DUPS    0    /* allow a duplicate tuple to be inserted */
  41. # define    NODUPS    1    /* check for and avoid inserting 
  42.                  * a duplicate (if possible)*/
  43.  
  44.  
  45. # define    TIDTYPE        INT
  46. # define    TIDLEN        4
  47.  
  48. # define    CNTLEN         4    /* counter for aggregate computations */
  49. # define    CNTTYPE     INT    /* counter type */
  50.  
  51. # define    OANYLEN        2    /* length for opANY */
  52. # define    OANYTYPE    INT    /* type for opANY */
  53.  
  54.  
  55.                      /* (i.e. either De.ov_srcdesc or Ov.ov_indesc) */
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. typedef char    i1type;
  65. typedef short    i2type;
  66. typedef long    i4type;
  67. typedef float    f4type;
  68. typedef double    f8type;
  69. typedef char    c0type[];
  70.  
  71.  
  72. typedef char    *stringp;
  73.  
  74.  
  75. /*
  76. **    Structures for string manipulation
  77. **
  78. */
  79. # define PATNUM 10
  80.  
  81. typedef struct plist {
  82.     char         *string;
  83.     int         len;
  84. } PLIST;
  85.  
  86. typedef struct glist {
  87.     char    *string;
  88.     int        len;
  89.     struct glist *next;
  90. } GLIST;
  91.  
  92. PLIST   Pats[PATNUM];    /* for use with PAT_SPEC chars in a replace command. */
  93.             /* Holds pattern and corresponding length to be      */
  94.             /* inserted into the new string.  Index of Pats      */
  95.             /* corresponds to index which user types following   */
  96.             /* the PAT_SPEC char.                     */
  97.  
  98. int     Patnum,        /* Number of patterns to be inserted into replaced   */
  99.             /* string.  Set to zero in endquelst().             */ 
  100.     Globlen,
  101.     Globnum;
  102. GLIST    *Globs,*Globfoot;
  103.  
  104.